accumulateParentOffsets=function (targetElement) {  
    let currentElement = targetElement;  
    let totalLeft = 0;  
    let totalTop = 0;  
  
    while (currentElement && currentElement.nodeType === Node.ELEMENT_NODE) {  
        const computedStyle = window.getComputedStyle(currentElement);  
          
        if (computedStyle.position === 'relative') {  
            // 注意：offsetLeft 和 offsetTop 给出的是相对于最近的定位祖先的偏移  
            // 在这里，我们假设没有其他的定位祖先（或它们不影响我们的计算）  
            // 因为我们只关心 relative 定位的父元素  
            totalLeft += currentElement.offsetLeft;  
            totalTop += currentElement.offsetTop;  
        }  
  
        currentElement = currentElement.parentElement;  
    }  
  
    return { left: totalLeft, top: totalTop };  
}